﻿// using System;
// using System.Collections;
// using System.IO;
// using UMC.Data;
// using UMC.Net;
// using UMC.Web;
// namespace UMC.Subs.Activity
// {

//     //[Mapping("System", "Resource", Auth = WebAuthType.All, Desc = "上传资源", Weight = 0)]
//     class SubjectResourceActivity : UMC.Web.WebActivity
//     {
//         public override void ProcessActivity(WebRequest request, WebResponse response)
//         {
//             var webr = Web.WebResource.Instance();
//             var Key = this.AsyncDialog("Key", "WebResource");

//             var media_id = this.AsyncDialog("media_id", g =>
//             {
//                 if (request.IsApp)
//                 {
//                     return Web.UIDialog.CreateDialog("File");
//                 }
//                 else if (Key.IndexOf("/") > 0)
//                 {
//                     return this.DialogValue("none");
//                 }
//                 else
//                 {
//                     var from = new Web.UIFormDialog() { Title = "资源上传" };

//                     from.AddFile("选择资源", "media_id", String.Empty);

//                     from.Submit("确认上传", "UI.Event");
//                     return from;
//                 }
//             });
//             var domain= webr.Provider["domain"] ?? "localhost";
//             if (media_id.StartsWith("http://") || media_id.StartsWith("https://"))
//             {
//                 var url = new Uri(media_id);
//                 var path = url.AbsolutePath;
//                 var name = Uri.UnescapeDataString(url.AbsolutePath.Substring(url.AbsolutePath.LastIndexOf('/') + 1));

//                 var urlKey = String.Format("UserResources/{0}/{1}/{2}", Utility.Parse36Encode(this.Context.Token.UserId.Value), Utility.TimeSpan(), name);

//                 if (path.StartsWith("/TEMP/"))
//                 {
//                     if (path[6] >= 'A' && path[6] <= 'Z')
//                     {
//                         urlKey = $"UserResources/{path.Substring(6)}";

//                     }

//                 }
//                 webr.Transfer(url, urlKey);

//                 // var domain = webr.WebDomain();
//                 var posmata = new WebMeta().Put("name", name);
//                 if (String.IsNullOrEmpty(domain) || domain.Length == 1)
//                 {
//                     posmata.Put("src", new Uri(request.Url, String.Format("/{0}", urlKey)).AbsoluteUri);
//                 }
//                 else
//                 {
//                     posmata.Put("src", $"{request.Url.Scheme}://{domain}/{urlKey}");
//                 }

//                 posmata.Put("Text", name).Put("Value", $"/{urlKey}");
//                 this.Context.Send(new WebMeta().UIEvent(Key, this.AsyncDialog("UI", "none"), posmata), true);
//             }
//             else //if (media_id.StartsWith("/TEMP/"))
//             {

//                 var name = Uri.UnescapeDataString(media_id.Substring(media_id.LastIndexOf('/') + 1));
//                 var urlKey = String.Format("UserResources/{0}/{1}/{2}", Utility.Parse36Encode(this.Context.Token.UserId.Value), Utility.TimeSpan(), name);
//                 if (media_id[6] >= 'A' && media_id[6] <= 'Z')
//                 {
//                     urlKey = $"UserResources/{media_id.Substring(6)}";

//                 }
//                 string filename = UMC.Data.Reflection.ConfigPath(String.Format("Static{0}", media_id));
//                 if (System.IO.File.Exists(filename))
//                 {
//                     using (System.IO.Stream sWriter = File.OpenRead(filename))
//                     {
//                         webr.Transfer(sWriter, urlKey);
//                     }
//                     var posmata = new WebMeta().Put("name", name);
//                     // var domain = webr.WebDomain();
//                     if (String.IsNullOrEmpty(domain) || domain.Length == 1)
//                     {
//                         posmata.Put("src", new Uri(request.Url, String.Format("/{0}", urlKey)).AbsoluteUri);
//                     }
//                     else
//                     {
//                         posmata.Put("src", $"{request.Url.Scheme}://{domain}/{urlKey}");
//                     }
//                     posmata.Put("Text", name).Put("Value", $"/{urlKey}");
//                     this.Context.Send(new WebMeta().UIEvent(Key, this.AsyncDialog("UI", "none"), posmata), true);


//                 }
//             }
//             this.Prompt("网络资源不能识别");


//         }

//     }
// }